﻿// 4781. 卡牌.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

/*
https://www.acwing.com/problem/content/4784/

有 n
 张完全相同的卡牌，每张卡牌正面为红色，背面为蓝色。

初始时，将这 n
 张卡牌堆叠在一起，构成一个牌堆。

每张卡牌的颜色朝向是随机的，可能蓝色朝上，也可能红色朝上。

现在规定一种操作，该操作可以用来改变牌堆中卡牌的颜色朝向。

每一轮操作分为三个步骤：

如果位于牌堆顶部的卡牌是红色朝上，则将其从牌堆中拿出，置于手中。不断重复此过程，直到牌堆顶部的卡牌是蓝色朝上为止。
将位于牌堆顶部的卡牌翻面，即将该卡牌从蓝色朝上变为红色朝上。
如果手中存在卡牌，则将它们全部调整为蓝色朝上，并逐个放入牌堆顶部。
注意，该操作可以进行的前提是，执行操作前，牌堆中存在蓝色朝上的卡牌。

也就是说，如果牌堆中的 n
 张卡牌均为红色朝上，则该操作无法进行。

给定牌堆的初始状态，请你判断该牌堆最多可以重复进行多少轮上述操作。

输入格式
第一行包含一个整数 n
。

第二行包含一个长度为 n
 的字符串 S
，S
 中只包含 R 和 B，用来描述牌堆的初始状态。S
 从左到右第 i
 个字符表示牌堆从上到下第 i
 张卡牌的朝上颜色，如果为 R，则表示该卡牌红色朝上，如果为 B，则表示该卡牌蓝色朝上。

输出格式
一个整数，表示给定牌堆可以进行的最大操作轮数。

数据范围
前 4
 个测试点满足 1≤n≤5
。
所有测试点满足 1≤n≤50
。

输入样例1：
3
RBR
输出样例1：
2
输入样例2：
4
RBBR
输出样例2：
6
输入样例3：
5
RBBRR
输出样例3：
6
输入样例4：
1
R
输出样例4：
0
*/

#include <iostream>

int main()
{
    std::cout << "Hello World!\n";
}
 